External API Callouts এবং Web Service Integration হলো Salesforce-এ ব্যবহারকারীর অ্যাপ্লিকেশনকে বাইরের সিস্টেমের সাথে সংযুক্ত করার একটি প্রক্রিয়া। এই Integration এর মাধ্যমে Salesforce অন্যান্য অ্যাপ্লিকেশন থেকে ডেটা গ্রহণ এবং প্রেরণ করতে পারে, যেমন পেমেন্ট গেটওয়ে, থার্ড-পার্টি ডেটাবেস, বা অন্য কোনো API থেকে ডেটা রিকোয়েস্ট করা।
External API Callouts
External API Callouts হল Salesforce-এর মাধ্যমে বাইরের কোনো সিস্টেমের API-তে রিকোয়েস্ট পাঠানো এবং রেসপন্স গ্রহণ করার একটি প্রক্রিয়া। সাধারণত HTTP (REST) এবং SOAP (XML) API Callouts এর মাধ্যমে বাইরের সিস্টেমের সাথে যোগাযোগ করা হয়।
API Callouts এর ধাপসমূহ
- HttpRequest তৈরি করুন: HTTP মেথড, হেডার এবং বডি সহ একটি
HttpRequestঅবজেক্ট তৈরি করুন। - HTTP পাঠান:
Httpঅবজেক্টেরsend()মেথড ব্যবহার করেHttpRequestপাঠান। - HttpResponse গ্রহণ করুন:
HttpResponseঅবজেক্টের মাধ্যমে API এর রেসপন্স সংরক্ষণ করুন এবং প্রসেস করুন। - Exception Handling: Callout-এর সময় কোনো ত্রুটি হলে Exception Handling নিশ্চিত করুন।
REST API Callout উদাহরণ
public class APICalloutExample {
public static String makeGetRequest(String endpoint) {
Http http = new Http();
HttpRequest request = new HttpRequest();
request.setEndpoint(endpoint);
request.setMethod('GET');
request.setHeader('Authorization', 'Bearer ' + UserInfo.getSessionId());
try {
HttpResponse response = http.send(request);
if (response.getStatusCode() == 200) {
return response.getBody();
} else {
throw new CalloutException('Error: ' + response.getStatusCode() + ' - ' + response.getStatus());
}
} catch (Exception e) {
System.debug('API Callout Failed: ' + e.getMessage());
return null;
}
}
}
- GET Request: এই মেথডটি একটি
GETরিকোয়েস্ট করে এবং JSON বা XML ফরম্যাটে রেসপন্স গ্রহণ করে। - Authorization Header: API অ্যাক্সেসের জন্য Authorization Header ব্যবহার করা হয়েছে।
- Exception Handling: Callout Exception Handling নিশ্চিত করা হয়েছে।
Web Service Integration
Salesforce অন্যান্য অ্যাপ্লিকেশন বা সিস্টেমের সাথে SOAP এবং REST Web Services এর মাধ্যমে ইন্টিগ্রেশন করতে পারে। SOAP Web Services XML ফরম্যাটে ডেটা প্রক্রিয়াকরণ করে এবং WSDL (Web Services Description Language) ব্যবহার করে ডেটা গঠন নির্ধারণ করে। REST Web Services JSON ফরম্যাটে ডেটা প্রক্রিয়াকরণ করে এবং HTTP প্রোটোকল ব্যবহার করে।
SOAP Web Service Integration
- WSDL Import করুন: SOAP Web Service Integration এর জন্য প্রথমে WSDL ফাইল আমদানি করতে হবে।
- Apex ক্লাস জেনারেট করুন: WSDL আমদানি করলে Salesforce স্বয়ংক্রিয়ভাবে Apex ক্লাস তৈরি করে।
- SOAP কল করুন: জেনারেট করা ক্লাসের মেথড ব্যবহার করে SOAP কল করতে হবে।
SOAP Web Service উদাহরণ
// WSDL আমদানি করলে তৈরি হওয়া Apex ক্লাসের উদাহরণ
public class SampleSOAPWebService {
public String exampleMethod(String param) {
// SOAP Request and Response
}
}
API Callout এবং Web Service Integration এর ভালো অনুশীলন
Test.setMock() ব্যবহার করুন: API Callouts টেস্টিং করার জন্য HttpCalloutMock ব্যবহার করুন এবং Test Coverage নিশ্চিত করুন।
@isTest
private class MockHttpCallout implements HttpCalloutMock {
public HttpResponse respond(HttpRequest req) {
HttpResponse res = new HttpResponse();
res.setStatusCode(200);
res.setBody('{"message": "Test Successful"}');
return res;
}
}
@isTest
public static void testAPICallout() {
Test.setMock(HttpCalloutMock.class, new MockHttpCallout());
String response = APICalloutExample.makeGetRequest('https://example.com/api');
System.assertNotEquals(null, response, 'Response should not be null');
}
Exception Handling এবং Retry Mechanism: API Callout ব্যর্থ হলে Exception Handling এবং Retry Mechanism নিশ্চিত করুন।
Caching: একই ডেটা বারবার রিকোয়েস্ট না করে ক্যাশিং ব্যবহার করুন, যা সার্ভারের লোড কমায়।
Governor Limits মনিটরিং: গভর্নর লিমিট অতিক্রম এড়াতে গভর্নর লিমিট মেনে API Callouts পরিচালনা করুন।
Secure Authentication: OAuth 2.0, API Key, বা Bearer Token ব্যবহার করে নিরাপদ অ্যাক্সেস নিশ্চিত করুন।
API Callout এবং Web Service Integration এর সেরা পদ্ধতি
| ধাপ | REST API Integration | SOAP Web Service Integration |
|---|---|---|
| Data Format | JSON | XML |
| HTTP Methods | GET, POST, PUT, DELETE | SOAP নির্দিষ্ট মেথড |
| Authentication | Bearer Token, OAuth 2.0 | WSDL অনুযায়ী নির্ধারিত |
| Testing | HttpCalloutMock এবং Test.setMock() ব্যবহার | SOAP UI বা Web Service Mock |
| Error Handling | Exception Handling এবং Logging | SOAP Fault এবং Exception Handling |
সারসংক্ষেপ
External API Callouts এবং Web Service Integration Salesforce থেকে বাইরের সিস্টেমে ডেটা পাঠানো এবং গ্রহণের একটি গুরুত্বপূর্ণ পদ্ধতি। API Callout এর মাধ্যমে REST এবং SOAP উভয় ধরনের Web Services এর সাথে ইন্টিগ্রেশন সম্ভব। সঠিক Exception Handling, Authentication, এবং Testing পদ্ধতি ব্যবহার করে একটি কার্যকর এবং নিরাপদ ইন্টিগ্রেশন নিশ্চিত করা যায়।
Read more